﻿using SecsEquip;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EquipSecs300
{
    public class SecsParemeterFunc
    {
        SecsParameter secsParameter;
        public SecsParemeterFunc(SecsParameter secsParameter)
        {
            this.secsParameter = secsParameter;
        }
        public void LoadSecsParament()
        {
            secsParameter.Ip = IniHelper.GetValue("AppData", "IP");
            int.TryParse(IniHelper.GetValue("AppData", "PORT"), out secsParameter.Port);
            secsParameter.Passive = UtilitiesConvert.StrToBool(IniHelper.GetValue("AppData", "PASSIVE"));
            secsParameter.InterfaceName = IniHelper.GetValue("AppData", "INTERFACE_NAME");
            secsParameter.ProcessProgramPath = IniHelper.GetValue("AppData", "pProcessProgramPath");
            int.TryParse(IniHelper.GetValue("AppData", "T1"), out secsParameter.T1);
            int.TryParse(IniHelper.GetValue("AppData", "T2"), out secsParameter.T2);
            int.TryParse(IniHelper.GetValue("AppData", "T3"), out secsParameter.T3);
            int.TryParse(IniHelper.GetValue("AppData", "T4"), out secsParameter.T4);
            int.TryParse(IniHelper.GetValue("AppData", "T5"), out secsParameter.T5);
            int.TryParse(IniHelper.GetValue("AppData", "T6"), out secsParameter.T6);
            int.TryParse(IniHelper.GetValue("AppData", "T7"), out secsParameter.T7);
            int.TryParse(IniHelper.GetValue("AppData", "T8"), out secsParameter.T8);
            secsParameter.PPIsFolder = UtilitiesConvert.StrToBool(IniHelper.GetValue("AppData", "bPPIsFolder"));
            secsParameter.WinrarPath = IniHelper.GetValue("AppData", "pWinrarPath");
            int.TryParse(IniHelper.GetValue("AppData", "DEVICE_ID"), out secsParameter.DeviceID);
            secsParameter.CommEnable = UtilitiesConvert.StrToBool(IniHelper.GetValue("AppData", "CommEnable"));
            int intCommMode;
            int.TryParse(IniHelper.GetValue("AppData", "ControlMode"), out intCommMode);
            if (intCommMode == (int)CONTROL_MODE.eCONTROL_MODE_OFFLINE)
            {
                secsParameter.ControlMode = CONTROL_MODE.eCONTROL_MODE_OFFLINE;
            }
            else if (intCommMode == (int)CONTROL_MODE.eCONTROL_MODE_ONLINE_LOCAL)
            {
                secsParameter.ControlMode = CONTROL_MODE.eCONTROL_MODE_ONLINE_LOCAL;
            }
            else
            {
                secsParameter.ControlMode = CONTROL_MODE.eCONTROL_MODE_ONLINE_REMOTE;
            }
            secsParameter.EnableLog = UtilitiesConvert.StrToBool(IniHelper.GetValue("AppData", "EnableLog"));
            secsParameter.PPAllowHostDowmload = UtilitiesConvert.StrToBool(IniHelper.GetValue("AppData", "PPAllowHostDowmload"));
            secsParameter.Softrev = IniHelper.GetValue("AppData", "Softrev");
        }

        public void SaveSecsParament()
        {
            IniHelper.SetValue("AppData", "IP", secsParameter.Ip);
            IniHelper.SetValue("AppData", "PORT", secsParameter.Port.ToString());
            IniHelper.SetValue("AppData", "PASSIVE", UtilitiesConvert.BoolToStr(secsParameter.Passive));
            IniHelper.SetValue("AppData", "INTERFACE_NAME", secsParameter.InterfaceName);
            IniHelper.SetValue("AppData", "pProcessProgramPath", secsParameter.ProcessProgramPath);
            IniHelper.SetValue("AppData", "T1", secsParameter.T1.ToString());
            IniHelper.SetValue("AppData", "T2", secsParameter.T2.ToString());
            IniHelper.SetValue("AppData", "T3", secsParameter.T3.ToString());
            IniHelper.SetValue("AppData", "T4", secsParameter.T4.ToString());
            IniHelper.SetValue("AppData", "T5", secsParameter.T5.ToString());
            IniHelper.SetValue("AppData", "T6", secsParameter.T6.ToString());
            IniHelper.SetValue("AppData", "T7", secsParameter.T7.ToString());
            IniHelper.SetValue("AppData", "T8", secsParameter.T8.ToString());
            IniHelper.SetValue("AppData", "bPPIsFolder", UtilitiesConvert.BoolToStr(secsParameter.PPIsFolder));
            IniHelper.SetValue("AppData", "pWinrarPath", secsParameter.WinrarPath);
            IniHelper.SetValue("AppData", "DEVICE_ID", secsParameter.DeviceID.ToString());
            IniHelper.SetValue("AppData", "CommEnable", UtilitiesConvert.BoolToStr(secsParameter.CommEnable));
            IniHelper.SetValue("AppData", "ControlMode", ((int)secsParameter.ControlMode).ToString());
            IniHelper.SetValue("AppData", "EnableLog", UtilitiesConvert.BoolToStr(secsParameter.EnableLog));
            IniHelper.SetValue("AppData", "PPAllowHostDowmload", UtilitiesConvert.BoolToStr(secsParameter.PPAllowHostDowmload));
            IniHelper.SetValue("AppData", "Softrev", secsParameter.Softrev);
        }


    }
}
